Load testing of websites and web applications generally refers to the process of putting demand on a software system or computing device (e.g., website server) and measuring its response. Load testing is commonly performed to determine a system's behavior under both normal and anticipated peak load conditions. A typical load test typically subjects a target website to different numbers of virtual users while monitoring performance measurements under these different loads. The virtual users simulate multiple real users accessing the program concurrently. The virtual users are typically generated by specialized software running on servers or machine instances provisioned in a network cloud. The software executes a specific load test plan or script that has been created by a test analyst or engineer.
By way of example, U.S. Pat. No. 7,844,036 describes a cloud-based load testing system and method for websites and web applications that allows a user to create a load test composition that includes plurality of parallel message streams that is sent over a network to a target website. CloudTest® is a cloud-based load testing computer program product offered by SOASTA, Inc. that allows a user to design, edit, and execute a load test composition on a website.
One of the difficulties with load testing is designing the test script or composition in such a way as to identify the maximum operating capacity of a website or web application as well as any bottlenecks that might interfere with its operating at capacity. The problem faced by performance engineers is how to create a set of test plan scenarios that accurately simulate peak load conditions that are likely to occur under real use. The conventional approach involves a performance engineer or analyst manually identifying commonly-executed scenarios for a website from market research or by examining log files.